home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / tex / sauter.zip / C-CMTT.MF < prev    next >
Text File  |  1990-09-16  |  10KB  |  245 lines

  1. % Compute the font construction parameters for the Computer
  2. % Modern Typewriter Text family.  Some other Computer Modern families
  3. % compute their parameters as modifications of these.
  4.  
  5. u#:=               % unit width
  6.     (if design_size < 10: ((design_size*design_size*1) +
  7.                            (design_size*2)+90)
  8.                     else: ((design_size*18.5)+25)fi)/360pt#;
  9.  
  10. width_adj#:=       % width adjustment for certain characters
  11.                           0pt#;
  12.  
  13. serif_fit#:=       % extra sidebar near lowercase serifs
  14.                           0pt#;
  15.  
  16. cap_serif_fit#:=   % extra sidebar near uppercase serifs
  17.                           0/360pt#;
  18.  
  19. letter_fit#:=      % extra space added to all sidebars
  20.                           0/360pt#;
  21.  
  22. body_height#:=     % height of tallest characters
  23.                           (design_size*250)/360pt#;
  24.  
  25. asc_height#:=      % height of lowercase ascenders
  26.                           (design_size*220)/360pt#;
  27.  
  28. cap_height#:=      % height of caps
  29.                           (design_size*220)/360pt#;
  30.  
  31. fig_height#:=      % height of numerals
  32.                           (design_size*220)/360pt#;
  33.  
  34. x_height#:=        % height of lowercase without ascenders
  35.                           (design_size*155)/360pt#;
  36.  
  37. math_axis#:=       % axis of symmetry for math symbols
  38.                           (design_size*110)/360pt#;
  39.  
  40. bar_height#:=      % height of crossbar in lowercase e
  41.                           ((design_size*80)-10)/360pt#;
  42.  
  43. comma_depth#:=     % depth of comma below baseline
  44.                           (design_size*50)/360pt#;
  45.  
  46. desc_depth#:=      % depth of lowercase descenders
  47.                           (design_size*80)/360pt#;
  48.  
  49. crisp#:=           % diameter of serif corners
  50.     (if design_size <  9: ((design_size*20)+30)
  51.  elseif design_size < 10: ((design_size*10)+120)
  52.                     else: ((design_size*15)+70)fi)/360pt#;
  53.  
  54. tiny#:=            % diameter of rounded corners
  55.     (if design_size <  9: ((design_size*20)+30)
  56.  elseif design_size < 10: ((design_size*10)+120)
  57.                     else: ((design_size*15)+70)fi)/360pt#;
  58.  
  59. fine#:=            % diameter of sharply rounded corners
  60.     (if design_size < 10: (-(design_size*design_size*5) +
  61.                            (design_size*105) - 340)
  62.                     else: ((design_size*5)+160)fi)/360pt#;
  63.  
  64. thin_join#:=       % width of extrafine details
  65.     (if design_size < 10: (-(design_size*design_size*5) +
  66.                            (design_size*105) - 340)
  67.                     else: ((design_size*5)+160)fi)/360pt#;
  68.  
  69. hair#:=            % lowercase hairline breadth
  70.     (if design_size < 10: (-(design_size*design_size*5) +
  71.                            (design_size*105) - 300)
  72.                     else: ((design_size*15)+100)fi)/360pt#;
  73.  
  74. stem#:=            % lowercase stem breadth
  75.     (if design_size < 10: (-(design_size*design_size*5) +
  76.                            (design_size*105) - 300)
  77.                     else: ((design_size*15)+100)fi)/360pt#;
  78.  
  79. curve#:=           % lowercase curve breadth
  80.     (if design_size < 10: (-(design_size*design_size*5) +
  81.                            (design_size*105) - 300)
  82.                     else: ((design_size*15)+100)fi)/360pt#;
  83.  
  84. ess#:=             % breadth in middle of lowercase s
  85.     (if design_size < 10: (-(design_size*design_size*5) +
  86.                            (design_size*105) - 330)
  87.                     else: ((design_size*15)+70)fi)/360pt#;
  88.  
  89. flare#:=           % diameter of bulbs or breadth of terminals
  90.     (if design_size < 10: ((design_size*20)+120)
  91.                     else: ((design_size*15)+170)fi)/360pt#;
  92.  
  93. dot_size#:=        % diameter of dots
  94.     (if design_size <  9: ((design_size*20)+150)
  95.  elseif design_size < 10: ((design_size*30)+60)
  96.                     else: ((design_size*15)+210)fi)/360pt#;
  97.  
  98. cap_hair#:=        % uppercase hairline breadth
  99.     (if design_size < 10: (-(design_size*design_size*5) +
  100.                            (design_size*105) - 300)
  101.                     else: ((design_size*15)+100)fi)/360pt#;
  102.  
  103. cap_stem#:=        % uppercase stem breadth
  104.     (if design_size < 10: (-(design_size*design_size*5) +
  105.                            (design_size*105) - 300)
  106.                     else: ((design_size*15)+100)fi)/360pt#;
  107.  
  108. cap_curve#:=       % uppercase curve breadth
  109.     (if design_size < 10: (-(design_size*design_size*5) +
  110.                            (design_size*105) - 300)
  111.                     else: ((design_size*15)+100)fi)/360pt#;
  112.  
  113. cap_ess#:=         % breadth in middle of uppercase s
  114.     (if design_size < 10: (-(design_size*design_size*5) +
  115.                            (design_size*105) - 300)
  116.                     else: ((design_size*15)+100)fi)/360pt#;
  117.  
  118. rule_thickness#:=  % thickness of lines in math symbols
  119.     (if design_size < 10: (-(design_size*design_size*5) +
  120.                            (design_size*105) - 300)
  121.                     else: ((design_size*15)+100)fi)/360pt#;
  122.  
  123. dish#:=            % amount erased at top or bottom of serifs
  124.                           0/360pt#;
  125.  
  126. bracket#:=         % vertical distance from serif base to tangent
  127.                           0/360pt#;
  128.  
  129. jut#:=             % protrusion of lowercase serifs
  130.     (if design_size < 10: (-(design_size*design_size*5) +
  131.                            (design_size*125) - 410)
  132.                     else: ((design_size*25)+90)fi)/360pt#;
  133.  
  134. cap_jut#:=         % protrusion of uppercase serifs
  135.     (if design_size < 10: (-(design_size*design_size*5) +
  136.                            (design_size*125) - 410)
  137.                     else: ((design_size*25)+90)fi)/360pt#;
  138.  
  139. beak_jut#:=        % horizontal protrusion of beak serifs
  140.                           0/360pt#;
  141.  
  142. beak#:=            % vertical protrusion of beak serifs
  143.     (if design_size < 10: (-(design_size*design_size*05) +
  144.                            (design_size*125) - 410)
  145.                     else: ((design_size*25)+90)fi)/360pt#;
  146.  
  147. vair#:=            % vertical diameter of hairlines
  148.     (if design_size < 10: (-(design_size*design_size*5) +
  149.                            (design_size*105) - 330)
  150.                     else: ((design_size*15)+70)fi)/360pt#;
  151.  
  152. notch_cut#:=       % maximum breadth above or below notches
  153.     (if design_size < 10: (-(design_size*design_size*5) +
  154.                            (design_size*105) - 300)
  155.                     else: ((design_size*15)+100)fi)/360pt#;
  156.  
  157. bar#:=             % lowercase bar thickness
  158.     (if design_size < 10: (-(design_size*design_size*5) +
  159.                            (design_size*105) - 330)
  160.                     else: ((design_size*15)+70)fi)/360pt#;
  161.  
  162. slab#:=            % serif and arm thickness
  163.     (if design_size < 10: (-(design_size*design_size*5) +
  164.                            (design_size*105) - 330)
  165.                     else: ((design_size*15)+70)fi)/360pt#;
  166.  
  167. cap_bar#:=         % uppercase bar thickness
  168.     (if design_size < 10: (-(design_size*design_size*5) +
  169.                            (design_size*105) - 330)
  170.                     else: ((design_size*15)+70)fi)/360pt#;
  171.  
  172. cap_band#:=        % uppercase thickness above/below lobes
  173.     (if design_size < 10: (-(design_size*design_size*5) +
  174.                            (design_size*105) - 330)
  175.                     else: ((design_size*15)+70)fi)/360pt#;
  176.  
  177. cap_notch_cut#:=   % max breadth above/below uppercase notches
  178.     (if design_size < 10: (-(design_size*design_size*5) +
  179.                            (design_size*105) - 300)
  180.                     else: ((design_size*15)+100)fi)/360pt#;
  181.  
  182. serif_drop#:=      % vertical drop of sloped serifs
  183.                           0/360pt#;
  184.  
  185. stem_corr#:=       % for small refinements of stem breadth
  186.                           0/360pt#;
  187.  
  188. vair_corr#:=       % for small refinements of hairline height
  189.                           0/360pt#;
  190.  
  191. apex_corr#:=       % extra width at diagonal junctions
  192.     (if design_size < 10: (design_size*10)
  193.                     else: ((design_size*5)+50)fi)/360pt#;
  194.  
  195. o#:=               % amount of overshoot for curves
  196.                           ((design_size*5)-10)/3